home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume32 / perlref / part03 < prev    next >
Encoding:
Text File  |  1992-09-04  |  53.0 KB  |  1,011 lines

  1. Newsgroups: comp.sources.misc,comp.lang.perl
  2. From: jv@mh.nl (Johan Vromans)
  3. Subject:  v32i003:  perlref - Perl Reference Guide 4.035.1, Part03/04
  4. Message-ID: <1992Sep4.023927.12122@sparky.imd.sterling.com>
  5. X-Md4-Signature: a706548f541bbf684eb015cd6f49c07d
  6. Date: Fri, 4 Sep 1992 02:39:27 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jv@mh.nl (Johan Vromans)
  10. Posting-number: Volume 32, Issue 3
  11. Archive-name: perlref/part03
  12. Supersedes: perlref: Volume 28, Issue 77-79
  13. Environment: Perl v4.035
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then feed it
  17. # into a shell via "sh file" or similar.  To overwrite existing files,
  18. # type "sh file -c".
  19. # Contents:  Layout refbase.ps.A refbase.sty
  20. # Wrapped by kent@sparky on Wed Sep  2 21:35:21 1992
  21. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  22. echo If this archive is complete, you will see the following message:
  23. echo '          "shar: End of archive 3 (of 4)."'
  24. if test -f 'Layout' -a "${1}" != "-c" ; then 
  25.   echo shar: Will not clobber existing file \"'Layout'\"
  26. else
  27.   echo shar: Extracting \"'Layout'\" \(1112 characters\)
  28.   sed "s/^X//" >'Layout' <<'END_OF_FILE'
  29. XThis is the layout of the pages of the reference guide
  30. X
  31. X
  32. X            center of paper
  33. X              |
  34. X    +-----------------+-----------------+
  35. X    |                           <----------- top margin
  36. X    |     xxxxxxxxxx  :  xxxxxxxxxx     |
  37. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  38. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  39. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  40. X    |     xxxxxxxxxx     xxxxxxxxxx  <------ right margin
  41. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  42. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  43. X    | ^   xxxxxxxxxx     xxxxxxxxxx     |
  44. X    | |   xxxxxxxxxx     xxxxxxxxxx     |
  45. X    | |   xxxxxxxxxx  :  xxxxxxxxxx     |
  46. X    | |                                 |
  47. X    +-|---------------------------------+
  48. X      |
  49. X     left margin
  50. X
  51. X
  52. XThese are the values:
  53. X            A4 (cm)        US Letter (inch)
  54. X    text width         9.0        3.5        same for both
  55. X    text height        19.2        7.5        same for both
  56. X    top margin          1.0        0.5
  57. X    left margin         4.9        1.6
  58. X    right margin     4.9        1.6
  59. X    space between     2.0        0.8        same for both
  60. X
  61. XAfter printing double-sided, the pages can be stapled (the ":" in the
  62. Xpicture), folded, and the excess margins cut off. Personally, I cut it
  63. Xto 10.6 cm (4.2 inch).
  64. END_OF_FILE
  65.   if test 1112 -ne `wc -c <'Layout'`; then
  66.     echo shar: \"'Layout'\" unpacked with wrong size!
  67.   fi
  68.   # end of 'Layout'
  69. fi
  70. if test -f 'refbase.ps.A' -a "${1}" != "-c" ; then 
  71.   echo shar: Will not clobber existing file \"'refbase.ps.A'\"
  72. else
  73.   echo shar: Extracting \"'refbase.ps.A'\" \(42440 characters\)
  74.   sed "s/^X//" >'refbase.ps.A' <<'END_OF_FILE'
  75. X%!PS-Adobe-2.0
  76. X%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
  77. X%%Title: refbase.dvi
  78. X%%Pages: 21 1
  79. X%%BoundingBox: 0 0 596 843
  80. X%%DocumentFonts: Helvetica-BoldOblique Helvetica-Bold Times-Roman Courier-Bold
  81. X%%+ Helvetica Times-Italic
  82. X%%EndComments
  83. X%%BeginProcSet: tex.pro
  84. X/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
  85. Xload def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
  86. Xisls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
  87. XResolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
  88. Xround 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
  89. XN}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
  90. X/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
  91. Xstatusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
  92. X/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
  93. X/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
  94. X/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
  95. Xarray copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
  96. XB /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
  97. Xsetfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
  98. Xlength 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
  99. Xch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
  100. X/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
  101. XN /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
  102. Xdup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
  103. Xch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
  104. Xch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
  105. Ximagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
  106. Xput nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
  107. Xdiv put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
  108. Xknown{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
  109. Xshowpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
  110. Xknown{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
  111. Xarray N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
  112. X/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
  113. X/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
  114. X7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
  115. XTR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
  116. X-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
  117. Xmoveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
  118. XS p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B
  119. X/j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w
  120. X}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
  121. Xa}B /bos{/SS save N}B /eos{clear SS restore}B end
  122. X%%EndProcSet
  123. X%%BeginProcSet: texps.pro
  124. XTeXDict begin /rf{655360 div mul Resolution mul 7227 div /PixPerEm X findfont
  125. Xdup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
  126. Xforall 256 dict begin nn /Encoding get 0 1 255{2 copy get 3 index 2 index get
  127. X1000 mul PixPerEm div def pop}for pop pop nn /Metrics currentdict put end
  128. X/fontname X /nn dup nn definefont[PixPerEm 0 0 PixPerEm neg 0 0]makefont N
  129. Xfontname{/foo setfont}2 array copy cvx N fontname load 0 nn put}N
  130. X/ObliqueSlant{dup sin S cos div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]
  131. XTransFont}N /ExtendFont{/foo X 3 2 roll[S{foo div}forall]3 1 roll[foo 0 0 1 0
  132. X0]TransFont}N /TransFont{S findfont S makefont dup length dict /nn X{1 index
  133. X/FID ne{nn 3 1 roll put}{pop pop}ifelse}forall dup nn definefont pop}N end
  134. X%%EndProcSet
  135. XTeXDict begin 1000 300 300 @start /Fa [ 0 0 0 0 0 0 0 0 0 0
  136. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 25 25 25 25
  137. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  138. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  139. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  140. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  141. X25 25 25 25 25 25 25 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  142. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 25 25 25 25 25 25
  143. X25 25 25 25 25 25 0 0 0 25 25 25 25 0 25 25 25 25 25 25 25
  144. X0 0 25 0 25 25 25 25 25 25 25 25 0 25 25 0 25 25 25 25 0 0
  145. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 25 25 0 25 0 0 0
  146. X0 0 0 0 0 0 25 0 0 25 25 0 25 0 0 0 0 ] /Courier-Bold 1000
  147. X655360 rf /Fb [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  148. X0 0 0 0 0 0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 31 11
  149. X15 11 13 23 23 23 23 23 23 23 23 23 23 15 15 31 31 31 23 42
  150. X28 28 30 33 28 28 33 33 15 20 30 25 38 30 33 28 33 28 23 25
  151. X33 28 38 28 25 25 18 13 18 19 23 15 23 23 20 23 20 13 23 23
  152. X13 13 20 13 33 23 23 23 23 18 18 13 23 20 30 20 20 18 18 13
  153. X18 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  154. X0 0 0 0 0 0 0 18 23 23 8 23 23 23 23 10 25 23 15 15 23 23 0
  155. X23 23 23 11 0 24 16 15 25 25 23 41 46 0 23 0 15 15 15 15 15
  156. X15 15 15 0 15 15 0 15 15 15 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  157. X0 0 41 0 13 0 0 0 0 25 33 43 14 0 0 0 0 0 30 0 0 0 13 0 0 13
  158. X23 30 23 0 0 0 0 ] /Times-Italic 1000 720896 rf /Fc 2 59 df<07FFFE001FFFFF003F
  159. XFFFF007FFFFE0070630000C0C3000080C7000000C6000001C600000186000003860000038F0000
  160. X038F0000070F0000070F00000F0F00000F0780001E0780001E0780000C03000019147F931A>25
  161. XD<78FCFCFCFC7806067D850D>58 D E /Fd [ 0 0 0 0 0 0 0 0 0 0 0
  162. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 20 23 23 37
  163. X30 12 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23 23
  164. X14 14 24 24 24 25 40 30 30 30 30 28 25 32 30 12 23 30 25 35
  165. X30 32 28 32 30 28 25 30 28 39 28 28 25 14 12 14 24 23 12 23
  166. X25 23 25 23 14 25 25 12 12 23 12 37 25 25 25 25 16 23 14 25
  167. X23 32 23 23 21 16 12 16 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  168. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 23 23 7 23 23 23 23
  169. X10 21 23 14 14 25 25 0 23 23 23 12 0 23 15 12 21 21 23 42 42
  170. X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
  171. X0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 15 0 0 0 0 25 32 42 15 0 0 0
  172. X0 0 37 0 0 0 12 0 0 12 25 39 25 0 0 0 0 ] /Helvetica-Bold 1000
  173. X655360 rf /Fe 2 122 df<0003FF0000000FFFC000003E01F00000F8007C0001E0001E000380
  174. X00070007000003800E000001C00C000000C01C000000E038000000703000000030300000003070
  175. X0000003860000000186000000018E00000001CC00000000CC00000000CC00000000CC00000000C
  176. XC00000000CC00000000CC00000000CC00000000CC00000000CE00000001C600000001860000000
  177. X1870000000383000000030300000003038000000701C000000E00C000000C00E000001C0070000
  178. X0380038000070001E0001E0000F8007C00003E01F000000FFFC0000003FF0000262B7DA02D>13
  179. XD<03000780078007800780078007800300030003007B78FFFCFFFC7B7803000300078007800780
  180. X078007800780078007800780078007800780078007800780078007800780078003000300030003
  181. X000300030003000E2A7D9F15>121 D E /Ff [ 0 0 0 0 0 0 0 0 0 0
  182. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 12 15 23 23
  183. X37 28 9 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23
  184. X23 12 12 24 24 24 23 42 28 28 30 30 28 25 32 30 12 21 28 23
  185. X35 30 32 28 32 30 28 25 30 28 39 28 28 25 12 12 12 19 23 9
  186. X23 23 21 23 23 12 23 23 9 9 21 9 35 23 23 23 23 14 21 12 23
  187. X21 30 21 21 21 14 11 14 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  188. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 23 23 7 23 23 23 23
  189. X8 14 23 14 14 21 21 0 23 23 23 12 0 22 15 9 14 14 23 42 42
  190. X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
  191. X0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 15 0 0 0 0 23 32 42 15 0 0 0
  192. X0 0 37 0 0 0 12 0 0 9 25 39 25 0 0 0 0 ] /Helvetica 1000 655360
  193. Xrf /Fg [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  194. X0 0 0 0 0 0 0 14 17 24 28 28 44 36 14 17 17 19 29 14 17 14
  195. X14 28 28 28 28 28 28 28 28 28 28 17 17 29 29 29 30 49 36 36
  196. X36 36 33 30 39 36 14 28 36 30 41 36 39 33 39 36 33 30 36 33
  197. X47 33 33 30 17 14 17 29 28 14 28 30 28 30 28 17 30 30 14 14
  198. X28 14 44 30 30 30 30 19 28 17 30 28 39 28 28 25 19 14 19 29
  199. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  200. X0 0 0 0 17 28 28 8 28 28 28 28 12 25 28 17 17 30 30 0 28 28
  201. X28 14 0 28 17 14 25 25 28 50 50 0 30 0 17 17 17 17 17 17 17
  202. X17 0 17 17 0 17 17 17 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50
  203. X0 18 0 0 0 0 30 39 50 18 0 0 0 0 0 44 0 0 0 14 0 0 14 30 47
  204. X30 0 0 0 0 ] /Helvetica-BoldOblique 1000 786432 rf /Fh [ 0
  205. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  206. X0 10 14 17 21 21 35 32 14 14 14 21 23 10 14 10 12 21 21 21
  207. X21 21 21 21 21 21 21 12 12 23 23 23 18 38 30 28 28 30 25 23
  208. X30 30 14 16 30 25 37 30 30 23 30 28 23 25 30 30 39 30 30 25
  209. X14 12 14 19 21 14 18 21 18 21 18 14 21 21 12 12 21 12 32 21
  210. X21 21 21 14 16 12 21 21 30 21 21 18 20 8 20 22 0 0 0 0 0 0
  211. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14
  212. X21 21 7 21 21 21 21 7 18 21 14 14 23 23 0 21 21 21 10 0 19
  213. X15 14 18 18 21 42 42 0 18 0 14 14 14 14 14 14 14 14 0 14 14
  214. X0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 0 11 0 0 0
  215. X0 25 30 37 13 0 0 0 0 0 28 0 0 0 12 0 0 12 21 30 21 0 0 0 0
  216. X] /Times-Roman 1000 655360 rf /Fi [ 0 0 0 0 0 0 0 0 0 0 0 0
  217. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 27 27 27 27
  218. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  219. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  220. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  221. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  222. X27 27 27 27 27 27 27 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  223. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 27 27 27 27 27 27
  224. X27 27 27 27 0 0 0 27 27 27 27 0 27 27 27 27 27 27 27 0 0 27
  225. X0 27 27 27 27 27 27 27 27 0 27 27 0 27 27 27 27 0 0 0 0 0 0
  226. X0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 27 27 0 27 0 0 0 0 0 0 0
  227. X0 0 27 0 0 27 27 0 27 0 0 0 0 ] /Courier-Bold 1000 720896 rf
  228. X/Fj [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  229. X0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 26 11 15 11 13 23
  230. X23 23 23 23 23 23 23 23 23 13 13 26 26 26 20 42 33 30 30 33
  231. X28 25 33 33 15 18 33 28 41 33 33 25 33 30 25 28 33 33 43 33
  232. X33 28 15 13 15 21 23 15 20 23 20 23 20 15 23 23 13 13 23 13
  233. X36 23 23 23 23 15 18 13 23 23 33 23 23 20 22 9 22 25 0 0 0
  234. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  235. X0 15 23 23 8 23 23 23 23 8 20 23 15 15 25 25 0 23 23 23 11
  236. X0 21 16 15 20 20 23 46 46 0 20 0 15 15 15 15 15 15 15 15 0
  237. X15 15 0 15 15 15 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 0 13
  238. X0 0 0 0 28 33 41 14 0 0 0 0 0 30 0 0 0 13 0 0 13 23 33 23 0
  239. X0 0 0 ] /Times-Roman 1000 720896 rf /Fk [ 0 0 0 0 0 0 0 0 0
  240. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 22 25 25
  241. X41 33 13 15 15 18 27 13 15 13 13 25 25 25 25 25 25 25 25 25
  242. X25 15 15 27 27 27 28 45 33 33 33 33 30 28 36 33 13 25 33 28
  243. X38 33 36 30 36 33 30 28 33 30 43 30 30 28 15 13 15 27 25 13
  244. X25 28 25 28 25 15 28 28 13 13 25 13 41 28 28 28 28 18 25 15
  245. X28 25 36 25 25 23 18 13 18 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  246. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 25 25 8 25 25 25 25
  247. X11 23 25 15 15 28 28 0 25 25 25 13 0 25 16 13 23 23 25 46 46
  248. X0 28 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15 15 46 0 0 0
  249. X0 0 0 0 0 0 0 0 0 0 0 0 0 46 0 17 0 0 0 0 28 36 46 17 0 0 0
  250. X0 0 41 0 0 0 13 0 0 13 28 43 28 0 0 0 0 ] /Helvetica-Bold 1000
  251. X720896 rf /Fl [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  252. X0 0 0 0 0 0 0 0 0 0 20 23 33 39 39 63 51 20 23 23 27 41 20
  253. X23 20 20 39 39 39 39 39 39 39 39 39 39 23 23 41 41 41 43 69
  254. X51 51 51 51 47 43 55 51 20 39 51 43 59 51 55 47 55 51 47 43
  255. X51 47 67 47 47 43 23 20 23 41 39 20 39 43 39 43 39 23 43 43
  256. X20 20 39 20 63 43 43 43 43 27 39 23 43 39 55 39 39 35 27 20
  257. X27 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  258. X0 0 0 0 0 0 0 23 39 39 12 39 39 39 39 17 35 39 23 23 43 43
  259. X0 39 39 39 20 0 39 25 20 35 35 39 71 71 0 43 0 23 23 23 23
  260. X23 23 23 23 0 23 23 0 23 23 23 71 0 0 0 0 0 0 0 0 0 0 0 0 0
  261. X0 0 0 71 0 26 0 0 0 0 43 55 71 26 0 0 0 0 0 63 0 0 0 20 0 0
  262. X20 43 67 43 0 0 0 0 ] /Helvetica-BoldOblique 1000 1114112 rf
  263. Xend
  264. X%%EndProlog
  265. X%%BeginSetup
  266. X%%Feature: *Resolution 300
  267. XTeXDict begin @a4
  268. X%%EndSetup
  269. X%%Page: 0 1
  270. Xbop eop
  271. X%%Page: 0 2
  272. Xbop 591 341 a Fl(Perl)20 b(Reference)h(Guide)p 591 362 1264
  273. X2 v 591 462 a Fk(for)12 b(Perl)h(version)g(4.035)591 645 y
  274. XFj(Perl)f(program)f(designed)f(and)i(created)g(by)591 701 y(Larry)f(W)l(all)h
  275. XFi(<)p Fj(lwall@netlabs.com)p Fi(>)591 884 y Fj(Reference)h(guide)e(designed)
  276. Xg(and)g(created)h(by)591 941 y(Johan)e(V)m(romans)i Fi(<)p
  277. XFj(jv@mh.nl)p Fi(>)591 1161 y Fl(Contents)p 591 1182 V 639
  278. X1283 a Fj(1.)21 b(Command)11 b(line)g(options)639 1339 y(2.)21
  279. Xb(Literals)639 1396 y(3.)g(V)-5 b(ariables)639 1452 y(4.)21
  280. Xb(Statements)639 1509 y(5.)g(Flow)12 b(control)639 1565 y(6.)21
  281. Xb(Operators)639 1621 y(7.)g(File)12 b(test)f(operators)639
  282. X1678 y(8.)21 b(Arithmetic)11 b(functions)639 1734 y(9.)21 b(Conversion)11
  283. Xb(functions)616 1791 y(10.)21 b(Structure)12 b(conversion)616
  284. X1847 y(11.)21 b(String)11 b(functions)616 1904 y(12.)21 b(Array)12
  285. Xb(and)g(list)e(functions)616 1960 y(13.)21 b(File)12 b(operations)616
  286. X2017 y(14.)21 b(Directory)12 b(reading)f(routines)616 2073
  287. Xy(15.)21 b(Input)11 b(/)g(Output)616 2130 y(16.)21 b(Search)13
  288. Xb(and)e(replace)i(functions)616 2186 y(17.)21 b(System)11 b(interaction)616
  289. X2242 y(18.)21 b(Networking)616 2299 y(19.)g(SystemV)11 b(IPC)616
  290. X2355 y(20.)21 b(Miscellaneous)616 2412 y(21.)g(Formats)616
  291. X2468 y(22.)g(Info)12 b(from)f(system)f(\256les)616 2525 y(23.)21
  292. Xb(Regular)12 b(expressions)616 2581 y(24.)21 b(Special)12 b(variables)616
  293. X2638 y(25.)21 b(Special)12 b(arrays)616 2694 y(26.)21 b(The)12
  294. Xb(perl)f(debugger)616 2751 y(27.)21 b(Environment)10 b(variables)591
  295. X2933 y Fh(Rev)m(.)g(4.035.1)p eop
  296. X%%Page: 1 3
  297. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  298. X3 v 354 0 a Fl(Conventions)p 354 21 1512 2 v 354 121 a Fi(fixed)102
  299. Xb Fj(denotes)10 b(literal)h(text.)354 186 y Ff(THIS)142 b Fj(means)11
  300. Xb(variable)g(text,)g(i.e.)i(things)d(you)h(must)f(\256ll)h(in.)354
  301. X251 y Ff(THIS)p Fe(y)121 b Fj(means)11 b(that)g Ff(THIS)g Fj(will)f(default)h
  302. X(to)g Fi($_)h Fj(if)g(omitted.)354 315 y Fd(word)139 b Fj(is)10
  303. Xb(a)i(keyword,)g(i.e.)g(a)g(word)f(with)f(a)i(special)f(meaning.)p
  304. X354 337 112 2 v 354 393 2 56 v 368 380 a Ff(RET)p 464 393 V
  305. X354 395 112 2 v 140 w Fj(denotes)f(pressing)h(a)h(keyboard)f(key)m(.)354
  306. X445 y([)p Fc(:)d(:)g(:)e Fj(])146 b(denotes)10 b(an)i(optional)e(part.)354
  307. X510 y(\()p Fc(:)e(:)g(:)e Fj(\)*)123 b(means)11 b(that)g(the)g(parentheses)g
  308. X(may)g(be)h(omitted.)355 635 y Fl(1.)19 b(Command)h(line)f(options)p
  309. X355 656 1512 2 v 354 757 a Fi(-a)64 b Fj(turns)11 b(on)g(autosplit)f(mode)h
  310. X(when)g(used)g(with)g Fi(-n)h Fj(or)g Fi(-p)p Fj(.)g(Splits)f(to)g
  311. XFi(@F)p Fj(.)354 821 y Fi(-c)64 b Fj(checks)12 b(syntax)f(but)g(does)g(not)f
  312. X(execute.)354 886 y Fi(-d)64 b Fj(runs)11 b(the)g(script)f(under)h(the)g
  313. X(debugger)m(.)h(Use)f Fi(-de)28 b(0)12 b Fj(to)e(start)h(the)g(debugger)g
  314. X(without)472 943 y(a)h(script.)354 1007 y Fi(-D)h Ff(NUMBER)472
  315. X1064 y Fj(sets)e(debugging)g(\257ags.)354 1129 y Fi(-e)i Ff(COMMANDLINE)472
  316. X1185 y Fj(may)e(be)h(used)f(to)g(enter)h(one)f(line)g(of)g(script.)h
  317. X(Multiple)d Fi(-e)k Fj(commands)d(may)h(be)472 1241 y(given)g(to)g(build)g
  318. X(up)g(a)g(multi-line)f(script.)354 1306 y Fi(-i)j Ff(EXT)472
  319. X1363 y Fj(\256les)f(processed)f(by)h(the)f Fi(<>)h Fj(construct)f(are)h(to)f
  320. X(be)g(edited)g(in-place.)354 1427 y Fi(-I)i Ff(DIR)472 1484
  321. Xy Fj(with)e Fi(-P)p Fj(:)h(tells)e(the)i(C)g(preprocessor)f(where)h(to)f
  322. X(look)g(for)g(include)g(\256les.)h(The)472 1540 y(directory)g(is)f(prepended)
  323. Xg(to)g Fi(@INC)p Fj(.)354 1605 y Fi(-l)i Fj([)e Ff(OCTNUM)h
  324. XFj(])472 1662 y(enables)g(automatic)e(line)h(ending)g(processing,)g(e.g.)h
  325. XFi(-l013)p Fj(.)354 1726 y Fi(-n)64 b Fj(assumes)11 b(an)h(input)e(loop)g
  326. X(around)i(your)f(script.)g(Lines)g(are)h(not)f(printed.)354
  327. X1791 y Fi(-p)64 b Fj(assumes)11 b(an)h(input)e(loop)g(around)i(your)f
  328. X(script.)g(Lines)g(are)h(printed.)354 1856 y Fi(-P)64 b Fj(runs)11
  329. Xb(the)h(C)g(preprocessor)f(on)g(the)h(script)e(before)i(compilation)e(by)h
  330. X(perl.)354 1921 y Fi(-s)64 b Fj(interprets)11 b(\252)p Fi(-xxx)p
  331. XFj(\272)j(on)d(the)g(command)g(line)g(as)g(switches)g(and)g(sets)g(the)472
  332. X1977 y(corresponding)g(variables)g Fi($)q(xxx)h Fj(in)f(the)h(script.)354
  333. X2042 y Fi(-S)64 b Fj(uses)11 b(the)h Fi(PATH)h Fj(environment)d(variable)h
  334. X(to)g(search)h(for)g(the)f(script.)354 2107 y Fi(-u)64 b Fj(dumps)11
  335. Xb(core)h(after)g(compiling)d(the)j(script.)f(T)m(o)g(be)g(used)g(with)g(the)g
  336. XFb(undump)g Fj(program)472 2163 y(\(where)i(available\).)354
  337. X2228 y Fi(-U)64 b Fj(allows)11 b(perl)h(to)e(do)i(unsafe)f(operations.)354
  338. X2293 y Fi(-v)64 b Fj(prints)11 b(the)g(version)g(and)g(patchlevel)g(of)h
  339. X(your)f(perl)g(executable.)354 2357 y Fi(-w)64 b Fj(prints)11
  340. Xb(warnings)g(about)g(possible)f(spelling)g(errors)i(and)f(other)g(error)o
  341. X(-prone)472 2414 y(constructs)g(in)g(the)g(script.)354 2479
  342. Xy Fi(-x)64 b Fj(extracts)12 b(perl)f(program)g(from)h(input)e(stream.)354
  343. X2543 y Fi(-0)j Ff(V)m(AL)472 2600 y Fj(\(that')m(s)f(the)f(number)g(zero\))h
  344. X(designates)f(an)h(initial)e(value)h(for)g(the)h(record)g(terminator)472
  345. X2656 y Fi($)q(/)p Fj(.)g(See)g(also)f Fi(-l)p Fj(.)p 354 3018
  346. X1512 3 v 354 3065 a Fg(1)p eop
  347. X%%Page: 2 4
  348. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  349. X3 v 355 -2 a Fl(2.)19 b(Literals)p 355 19 1512 2 v 354 119
  350. Xa Fj(Numeric:)11 b Fi(123)56 b(1_234)h(123.4)g(5E-10)g(0xff)13
  351. Xb Fj(\(hex\))55 b Fi(0377)13 b Fj(\(octal\).)354 184 y(String:)e
  352. XFi('abc')i Fj(literal)e(string,)g(no)g(variable)h(interpolation)e(nor)h
  353. X(escape)h(characters.)591 241 y(Also:)e Fi(q/abc/)p Fj(.)591
  354. X297 y(\(Almost)g(any)h(pair)g(of)h(delimiters)e(can)i(be)f(used)g(instead)g
  355. X(of)h Fi(/.../)p Fj(.\))472 362 y Fi("abc")i Fj(V)-5 b(ariables)11
  356. Xb(are)h(interpolated)f(and)g(escape)h(sequences)g(are)g(processed.)591
  357. X418 y(Also:)e Fi(qq/abc/)p Fj(.)591 475 y(Escape)h(sequences:)h
  358. XFi(\\t)g Fj(\(T)m(ab\),)g Fi(\\n)g Fj(\(Newline\),)g Fi(\\r)g
  359. XFj(\(Return\),)h Fi(\\f)591 531 y Fj(\(Formfeed\),)f Fi(\\b)h
  360. XFj(\(Backspace\),)g Fi(\\a)f Fj(\(Alarm\),)g Fi(\\e)g Fj(\(Escape\),)h
  361. XFi(\\033)p Fj(\(octal\),)591 588 y Fi(\\x1b)p Fj(\(hex\),)g
  362. XFi(\\c[)g Fj(\(control\).)591 644 y Fi(\\l)f Fj(and)f Fi(\\u)h
  363. XFj(lowcase/upcase)g(the)f(following)f(character;)591 701 y
  364. XFi(\\L)i Fj(and)f Fi(\\U)h Fj(lowcase/upcase)g(until)e(a)i
  365. XFi(\\E)g Fj(is)f(encountered.)472 765 y Fi(`)p Ff(COMMAND)p
  366. XFi(`)h Fj(evaluates)f(to)g(the)g(output)f(of)i(the)f Ff(COMMAND)p
  367. XFj(.)591 822 y(Also:)f Fi(qx/)p Ff(COMMAND)p Fi(/)p Fj(.)354
  368. X887 y(Array:)i Fi(\(1,2,3\))p Fj(.)j Fi(\(\))d Fj(is)f(an)g(empty)g(array)m
  369. X(.)472 943 y(Also:)g Fi(\($a,$b,@re)q(st)q(\))30 b(=)e(\(1,2,...\))q(;)472
  370. X999 y(\(1..4\))14 b Fj(is)d(the)g(same)h(as)f Fi(\(1,2,3,4\))q
  371. XFj(.)j(Likewise)d Fi(\('abc'..')q(ad)q(e'\))354 1064 y Fj(Associative)g
  372. X(array:)h Fi(\()p Ff(KEY1)p Fi(,)p Ff(V)m(AL1)p Fi(,)p Ff(KEY2)p
  373. XFi(,)p Ff(V)m(AL2)p Fi(,...\))354 1129 y Fj(Filehandles:)472
  374. X1185 y(Pre-de\256ned:)h Fi(<STDIN>)p Fj(,)i Fi(<STDOUT>)p Fj(,)g
  375. XFi(<STDERR>)p Fj(,)g Fi(<ARGV>)p Fj(,)f Fi(<DATA>)p Fj(;)472
  376. X1242 y(User)o(-speci\256ed:)e Fi(<)p Ff(HANDLE)p Fi(>)p Fj(,)g
  377. XFi(<$)p Ff(V)m(AR)p Fi(>)p Fj(.)472 1298 y Fi(<>)h Fj(is)e(the)g(input)f
  378. X(stream)h(formed)g(by)h(the)f(\256les)g(speci\256ed)h(in)f
  379. XFi(@ARGV)p Fj(,)j(or)d(standard)472 1355 y(input)g(if)g(no)g(ar)o(guments)g
  380. X(are)h(supplied.)354 1420 y(Globs:)f Fi(<)p Ff(P)m(A)m(TTERN)p
  381. XFi(>)g Fj(evaluates)h(to)f(all)g(\256lenames)g(according)h(to)f(the)g
  382. X(pattern.)472 1476 y(Use)h Fi(<${)p Ff(V)m(AR)p Fi(}>)h Fj(to)d(glob)h(from)g
  383. X(a)h(variable.)354 1541 y(Here-Is:)g Fi(<<)p Ff(IDENTIFIER)472
  384. X1597 y Fb(See)g(the)f(manual)g(for)g(details.)354 1662 y Fj(Special)h
  385. X(tokens:)472 1718 y Fi(_)c(_)q(FILE_)h(_)q Fj(:)i(\256lename;)g
  386. XFi(_)d(_)q(LINE_)h(_)q Fj(:)i(line)g(number)m(.)472 1775 y
  387. XFi(_)d(_)q(END_)h(_)p Fj(:)j(end)f(of)g(program;)g(remaining)g(lines)f(can)i
  388. X(be)g(read)g(using)e Fi(<)p Ff(DA)m(T)m(A)p Fi(>)p Fj(.)355
  389. X1904 y Fl(3.)19 b(V)m(ariables)p 355 1925 V 354 2026 a Fi($)q(var)269
  390. Xb Fj(a)12 b(simple)e(scalar)i(variable)354 2090 y Fi($)q(var[28])161
  391. Xb Fj(29th)11 b(element)g(of)g(array)i Fi(@var)g Fj(\(the)e
  392. XFi([])h Fj(are)g(part)g(of)f(it\))354 2155 y Fi($)q(var{)q('Feb'})79
  393. Xb Fj(one)12 b(value)f(from)g(associative)g(array)h Fi(\045var)354
  394. X2220 y($)q(#var)242 b Fj(last)11 b(index)g(of)g(array)i Fi(@var)354
  395. X2285 y(@var)270 b Fj(the)11 b(entire)h(array;)732 2341 y(in)f(scalar)h
  396. X(context:)f(the)g(number)g(of)g(elements)g(in)g(the)g(array)354
  397. X2406 y Fi(@var[3,4)q(,5])80 b Fj(a)12 b(slice)f(of)h(the)f(array)h
  398. XFi(@var)354 2471 y(@var{)r('a','b'})25 b Fj(a)12 b(slice)f(of)h
  399. XFi(\045var)p Fj(;)g(same)f(as)h Fi(\($var{'a')q(},$)q(va)q(r{')q(b'})q(\))354
  400. X2535 y(\045)q(var)269 b Fj(the)11 b(entire)h(associative)f(array;)732
  401. X2592 y(in)g(scalar)h(context:)f(TRUE)g(if)h(the)f(array)h(has)f(elements)354
  402. X2657 y Fi($)q(var{)q('a',1,...)q(})24 b Fj(emulates)11 b(a)g
  403. X(multi-dimensional)e(array)354 2721 y Fi(\('a'..'z)q('\)[)q(4,7)q(,9)q(])732
  404. X2778 y Fj(a)j(slice)f(of)h(an)f(array)h(literal)354 2843 y
  405. XFi(*)p Ff(NAME)230 b Fj(refers)13 b(to)e(all)g(objects)f(represented)i(by)f
  406. XFf(NAME)p Fj(.)g(\252)p Fi(*name1)30 b(=)732 2899 y(*name2)p
  407. XFj(\272)14 b(makes)d Fi(name1)j Fj(a)e(reference)h(to)e Fi(name2)p
  408. XFj(.)p 354 3018 1512 3 v 1838 3065 a Fg(2)p eop
  409. X%%Page: 3 5
  410. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  411. X3 v 355 -2 a Fl(4.)19 b(Statements)p 355 19 1512 2 v 354 119
  412. Xa Fj(Every)12 b(statement)e(is)h(an)h(expression,)f(optionally)e(followed)i
  413. X(by)g(a)h(modi\256er)n(,)g(and)354 176 y(terminated)f(by)g(a)h(semicolon.)e
  414. X(The)i(semicolon)e(may)h(be)g(omitted)f(if)i(the)f(statement)f(is)h(the)354
  415. X232 y(\256nal)h(one)f(in)g(a)h(BLOCK.)354 297 y(Execution)f(of)g(expressions)
  416. Xg(can)h(depend)f(on)g(other)g(expressions)g(using)f(one)h(of)h(the)354
  417. X354 y(modi\256ers)f Fd(if)p Fj(,)g Fd(unless)p Fj(,)i Fd(while)e
  418. XFj(or)g Fd(until)p Fj(,)h(e.g.:)400 418 y Ff(EXPR1)f Fd(if)f
  419. XFf(EXPR2)h Fi(;)400 475 y Ff(EXPR1)g Fd(until)g Ff(EXPR2)f
  420. XFi(;)354 540 y Fj(Also,)h(by)g(using)g(one)g(of)h(the)f(logical)g(operators)g
  421. XFi(||)q Fj(,)h Fi(&&)g Fj(or)f Fi(?)28 b(:)p Fj(,)12 b(e.g.:)400
  422. X604 y Ff(EXPR1)f Fi(||)h Ff(EXPR2)e Fi(;)400 661 y Ff(EXPR1)h
  423. XFi(?)g Ff(EXPR2)g Fi(:)h Ff(EXPR3)e Fi(;)354 725 y Fj(Statements)h(can)h(be)f
  424. X(combined)g(to)g(form)g(a)h Ff(BLOCK)f Fj(when)g(enclosed)g(in)g
  425. XFi({})p Fj(.)354 790 y(Compound)g(statements)f(may)h(be)g(used)h(to)f
  426. X(control)f(\257ow:)400 855 y Fd(if)h Fi(\()p Ff(EXPR)p Fi(\))g
  427. XFf(BLOCK)g Fj([)h([)f Fd(elsif)g Fi(\()p Ff(EXPR)p Fi(\))g
  428. XFf(BLOCK)g(...)f Fj(])i Fd(else)f Ff(BLOCK)g Fj(])400 911 y
  429. XFd(unless)h Fi(\()p Ff(EXPR)p Fi(\))f Ff(BLOCK)g Fj([)h Fd(else)f
  430. XFf(BLOCK)g Fj(])400 968 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(while)f
  431. XFi(\()p Ff(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  432. XFj(])400 1024 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(until)f Fi(\()p
  433. XFf(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  434. XFj(])400 1081 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(for)f Fi(\()p
  435. XFf(EXPR)p Fi(;)h Ff(EXPR)p Fi(;)f Ff(EXPR)p Fi(\))f Ff(BLOCK)400
  436. X1137 y Fj([)i Ff(LABEL)p Fd(:)e Fj(])i Fd(foreach)g Ff(V)m(AR)p
  437. XFe(y)o Fi(\()p Ff(ARRA)m(Y)p Fi(\))f Ff(BLOCK)400 1194 y Fj([)h
  438. XFf(LABEL)p Fd(:)e Fj(])i Ff(BLOCK)f Fj([)g Fd(continue)24 b
  439. XFf(BLOCK)12 b Fj(])354 1258 y(Special)g(forms)f(are:)400 1323
  440. Xy Fd(do)h Ff(BLOCK)f Fd(while)h Ff(EXPR)e Fi(;)400 1380 y Fd(do)i
  441. XFf(BLOCK)f Fd(until)g Ff(EXPR)g Fi(;)354 1436 y Fj(which)g(are)i(guaranteed)e
  442. X(to)g(perform)h Ff(BLOCK)f Fj(once)g(before)h(testing)f Ff(EXPR)p
  443. XFj(.)355 1559 y Fl(5.)19 b(Flow)h(control)p 355 1580 V 354
  444. X1681 a Fd(do)12 b Ff(BLOCK)472 1737 y Fj(Returns)g(the)f(value)g(of)h(the)f
  445. X(last)g(command)f(in)h(the)h(sequence)f(of)h(commands)472 1794
  446. Xy(indicated)f(by)g Ff(BLOCK)p Fj(.)h Fd(next)p Fj(,)g Fd(last)f
  447. XFj(and)g Fd(redo)i Fj(cannot)e(be)g(used)h(here.)354 1859 y
  448. XFd(do)g Ff(SUBROUTINE)p Fd(\(LIST\))472 1915 y Fj(Executes)g(a)f
  449. XFf(SUBROUTINE)g Fj(declared)h(by)f(a)h Fd(sub)g Fj(declaration,)g(and)f
  450. X(returns)g(the)472 1971 y(value)h(of)f(the)g(last)g(expression)g(evaluated)g
  451. X(in)g Ff(SUBROUTINE)g Fj(.)472 2028 y(Preferred)j(form)d(is:)f
  452. XFi(&)p Ff(SUBROUTINE)h Fj(.)354 2093 y Fd(do)h Ff(FILENAME)472
  453. X2149 y Fj(Executes)g(the)f(contents)g(of)g Ff(FILENAME)f Fj(as)h(a)h(perl)g
  454. X(script.)f(Errors)g(are)i(returned)e(in)472 2206 y Fi($@)p
  455. XFj(.)472 2262 y(Preferred)j(form)d(is:)f Fd(require)j Ff(FILENAME)d
  456. XFj(.)354 2327 y Fd(goto)j Ff(LABEL)472 2383 y Fj(Continue)e(execution)g(at)h
  457. X(the)f(speci\256ed)h(label.)354 2448 y Fd(last)f Fj([)p Ff(LABEL)p
  458. XFj(])472 2504 y(Immediately)g(exits)f(the)i(loop)e(in)h(question.)g(Skips)g
  459. X(continue)f(block.)354 2569 y Fd(next)i Fj([)p Ff(LABEL)p Fj(])472
  460. X2626 y(Starts)g(the)f(next)g(iteration)g(of)g(the)g(loop.)354
  461. X2690 y Fd(redo)i Fj([)p Ff(LABEL)p Fj(])472 2747 y(Restarts)f(the)f(loop)g
  462. X(block)g(without)f(evaluating)g(the)h(conditional)f(again.)354
  463. X2812 y Fd(return)j Ff(EXPR)472 2868 y Fj(Returns)f(from)f(a)h(subroutine)e
  464. X(with)h(the)g(value)g(speci\256ed.)p 354 3018 1512 3 v 354
  465. X3065 a Fg(3)p eop
  466. X%%Page: 4 6
  467. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  468. X3 v 355 -2 a Fl(6.)19 b(Operators)p 355 19 1512 2 v 354 119
  469. Xa Fi(+)28 b(-)g(*)g(/)g Fj(Addition,)10 b(subtraction,)g(multiplication,)g
  470. X(division.)354 176 y Fi(\045)193 b Fj(Modulo)10 b(division.)354
  471. X232 y Fi(|)i(&)44 b(\303)83 b Fj(Bitwise)10 b(or)n(,)j(bitwise)d(and,)i
  472. X(bitwise)e(exclusive)h(or)m(.)354 289 y Fi(>>)56 b(<<)g Fj(Bitwise)10
  473. Xb(shift)h(right,)g(bitwise)f(shift)h(left.)354 345 y Fi(**)166
  474. Xb Fj(Exponentiation.)354 402 y Fi(.)193 b Fj(Concatenation)11
  475. Xb(of)g(two)g(strings.)354 458 y Fd(x)197 b Fj(Returns)11 b(a)h(string)e(or)i
  476. X(array)g(consisting)d(of)j(the)f(left)g(operand)h(\(an)g(array)g(or)574
  477. X515 y(a)f(string\))g(repeated)h(the)f(number)g(of)g(times)g(speci\256ed)h(by)
  478. Xf(the)g(right)g(operand.)354 579 y(All)g(of)h(the)f(above)g(operators)h(also)
  479. Xf(have)g(an)h(assignment)e(operator)n(,)i(e.g.)g(\252)p Fi(.=)p
  480. XFj(\272.)354 644 y Fi(++)56 b(--)g Fj(Auto-increment)10 b(\(magical)h(on)g
  481. X(strings\),)g(auto-decrement.)354 701 y Fi(?)28 b(:)138 b Fj(Alternation)10
  482. Xb(\(if-then-else\))i(operator)m(.)354 757 y Fi(|)q(|)55 b(&&)h
  483. XFj(Logical)10 b(or)n(,)i(logical)f(and.)354 813 y Fi(=)d(=)48
  484. Xb(!=)56 b Fj(Numeric)11 b(equality)m(,)g(inequality)m(.)354
  485. X870 y Fd(eq)62 b(ne)g Fj(String)11 b(equality)m(,)g(inequality)m(.)354
  486. X926 y Fi(<)83 b(>)g Fj(Numeric)11 b(less)g(than,)g(greater)h(than.)354
  487. X983 y Fd(lt)84 b(gt)71 b Fj(String)11 b(less)f(than,)i(greater)g(than.)354
  488. X1039 y Fi(<=)56 b(>=)g Fj(Numeric)11 b(less)g(\(greater\))h(than)f(or)h
  489. X(equal)f(to.)354 1096 y Fd(le)75 b(ge)62 b Fj(String)11 b(less)f(\(greater\))
  490. Xj(than)e(or)h(equal.)354 1152 y Fi(<=>)139 b Fj(Numeric)11
  491. Xb(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354 1209 y Fd(cmp)135
  492. Xb Fj(String)11 b(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354
  493. X1265 y Fi(=\304)56 b(!\304)g Fj(Search)12 b(pattern,)g(substitution,)d(or)i
  494. X(translation)f(\(negated\).)354 1322 y Fi(..)166 b Fj(Enumeration,)10
  495. Xb(also)h(input)g(line)f(range)i(operator)m(.)354 1378 y Fi(,)193
  496. Xb Fj(Comma)11 b(operator)m(.)355 1508 y Fl(7.)19 b(File)g(test)j(operators)p
  497. X355 1529 V 354 1630 a Fj(These)12 b(unary)f(operators)g(takes)h(one)f(ar)o
  498. X(gument,)h(either)f(a)h(\256lename)f(or)h(a)f(\256lehandle,)h(and)354
  499. X1686 y(tests)f(the)g(associated)g(\256le)h(to)f(see)h(if)f(something)f(is)h
  500. X(true)g(about)g(it.)g(If)h(the)f(ar)o(gument)g(is)354 1743
  501. Xy(omitted,)g(tests)f Fi($_)j Fj(\(except)e(for)h Fi(-t,)h Fj(which)e(tests)f
  502. XFi(STDIN)p Fj(\).)k(If)e(the)f(special)g(ar)o(gument)h Fi(_)354
  503. X1799 y Fj(\(underscore\))g(is)f(passed,)h(uses)f(the)g(info)g(of)h(the)f
  504. X(preceding)g(test.)354 1864 y Fi(-r)29 b(-w)f(-x)77 b Fj(File)11
  505. Xb(is)g(readable/writable/executable)g(by)g(ef)o(fective)i(uid/gid.)354
  506. X1929 y Fi(-R)29 b(-W)f(-X)77 b Fj(File)11 b(is)g
  507. X(readable/writable/executable)g(by)g(real)h(uid/gid.)354 1993
  508. Xy Fi(-o)29 b(-O)159 b Fj(File)11 b(is)g(owned)g(by)g(ef)o(fective/real)i
  509. X(uid.)354 2058 y Fi(-e)29 b(-z)159 b Fj(File)11 b(exists)g(/)g(has)g(zero)h
  510. X(size.)354 2123 y Fi(-s)242 b Fj(File)11 b(exists)g(and)g(has)g(non-zero)h
  511. X(size.)g(Returns)f(the)g(size.)354 2188 y Fi(-f)29 b(-d)159
  512. Xb Fj(File)11 b(is)g(a)h(plain)e(\256le,)j(a)e(directory)m(.)354
  513. X2252 y Fi(-l)29 b(-S)f(-p)77 b Fj(File)11 b(is)g(a)h(symbolic)d(link,)i(a)h
  514. X(socket,)g(a)f(named)g(pipe)g(\(FIFO\).)354 2317 y Fi(-b)29
  515. Xb(-c)159 b Fj(File)11 b(is)g(a)h(block/character)g(special)f(\256le.)354
  516. X2382 y Fi(-u)29 b(-g)f(-k)77 b Fj(File)11 b(has)g(setuid/setgid/sticky)d(bit)
  517. Xj(set.)354 2447 y Fi(-t)242 b Fj(T)m(ests)10 b(if)i(\256lehandle)f(\()p
  518. XFi(STDIN)j Fj(by)d(default\))g(is)g(opened)g(to)g(a)h(tty)m(.)354
  519. X2512 y Fi(-T)29 b(-B)159 b Fj(File)11 b(is)g(a)h(text/non-text)d(\(binary\))j
  520. X(\256le.)g Fi(-T)g Fj(and)g Fi(-B)g Fj(return)f(TRUE)h(on)f(a)650
  521. X2568 y(null)f(\256le,)i(or)g(a)f(\256le)h(at)g(EOF)f(when)h(testing)e(a)h
  522. X(\256lehandle.)354 2633 y Fi(-M)29 b(-A)f(-C)77 b Fj(File)11
  523. Xb(creation)h(/)f(access)h(/)f(inode)g(change)g(time.)g(Measured)h(in)f(days)g
  524. X(since)650 2689 y(this)f(program)h(started.)h(See)g(also)f
  525. XFi($\303T)i Fj(in)e(section)f(\252Special)i(V)-5 b(ariables\272.)p
  526. X354 3018 1512 3 v 1838 3065 a Fg(4)p eop
  527. X%%Page: 5 7
  528. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  529. X3 v 354 -12 a Fj(A)f Ff(LIST)f Fj(is)g(a)g(\(possibly)f(parenthesised\))h
  530. X(list)g(of)g(expressions,)g(variables)g(or)h Ff(LIST)p Fj(s.)f(An)354
  531. X45 y(array)i(variable)e(or)g(an)h(array)g(slice)f(may)g(always)h(be)f(used)g
  532. X(instead)g(of)g(a)h Ff(LIST)p Fj(.)355 168 y Fl(8.)19 b(Arithmetic)i
  533. X(functions)p 355 189 1512 2 v 354 290 a Fd(atan2\()p Ff(Y)p
  534. XFd(,)p Ff(X)p Fd(\))472 346 y Fj(Returns)12 b(the)f(arctangent)h(of)f
  535. XFf(Y)p Fj(/)p Ff(X)g Fj(in)g(the)g(range)h(-)p Fc(\031)h Fj(to)e
  536. XFc(\031)r Fj(.)354 411 y Fd(cos\()p Ff(EXPR)p Fe(y)o Fd(\))p
  537. XFj(*)472 467 y(Returns)h(the)f(cosine)g(of)h Ff(EXPR)e Fj(\(expressed)i(in)f
  538. X(radians\).)354 532 y Fd(exp\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  539. X588 y(Returns)h Fi(e)g Fj(to)f(the)g(power)g(of)h Ff(EXPR)p
  540. XFj(.)354 653 y Fd(int\()p Ff(EXPR)p Fe(y)n Fd(\))p Fj(*)472
  541. X710 y(Returns)g(the)f(integer)g(portion)g(of)g Ff(EXPR)p Fj(.)354
  542. X774 y Fd(log\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 831 y(Returns)h(natural)f
  543. X(logarithm)f(\(base)i Fi(e)p Fj(\))g(of)f Ff(EXPR)p Fj(.)354
  544. X896 y Fd(rand)p Fj([)p Fd(\()p Ff(EXPR)p Fd(\))p Fj(*])472
  545. X952 y(Returns)h(a)g(random)f(fractional)g(number)g(between)g(0)h(and)f(the)g
  546. X(value)h(of)f Ff(EXPR)p Fj(.)g(If)472 1008 y Ff(EXPR)g Fj(is)g(omitted,)f
  547. X(returns)h(a)h(value)f(between)h(0)f(and)h(1.)354 1073 y Fd(sin\()p
  548. XFf(EXPR)p Fe(y)n Fd(\))p Fj(*)472 1130 y(Returns)g(the)f(sine)g(of)h
  549. XFf(EXPR)e Fj(\(expressed)i(in)f(radians\).)354 1194 y Fd(sqrt\()p
  550. XFf(EXPR)p Fe(y)o Fd(\))p Fj(*)472 1251 y(Return)h(the)f(square)h(root)f(of)g
  551. XFf(EXPR)p Fj(.)354 1316 y Fd(srand)p Fj([)p Fd(\()p Ff(EXPR)p
  552. XFd(\))p Fj(*])472 1372 y(Sets)h(the)f(random)g(number)g(seed)h(for)f(the)g
  553. X(rand)h(operator)m(.)354 1437 y Fd(time)32 b Fj(Returns)12
  554. Xb(the)f(number)g(of)g(seconds)g(since)h(January)f(1,)h(1970.)f(Suitable)g
  555. X(for)h(feeding)472 1493 y(to)f Fd(gmtime)g Fj(and)h Fd(localtime)p
  556. XFj(.)355 1618 y Fl(9.)19 b(Conversion)i(functions)p 355 1639
  557. XV 354 1740 a Fd(gmtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 1796
  558. Xy(Converts)12 b(a)f(time)g(as)g(returned)h(by)f(the)g Fd(time)g
  559. XFj(function)g(to)g(a)g(9-element)g(array)i(\()p Fi($)p Fj(sec,)472
  560. X1852 y Fi($)q Fj(min,)e Fi($)p Fj(hour)n(,)h Fi($)p Fj(mday)m(,)g
  561. XFi($)p Fj(mon,)f Fi($)p Fj(year)n(,)i Fi($)p Fj(wday)m(,)f
  562. XFi($)q Fj(yday)m(,)f Fi($)q Fj(isdst\))f(with)g(the)i(time)472
  563. X1909 y(analyzed)g(for)g(the)f(Greenwich)h(timezone.)f Fi($)p
  564. XFj(mon)g(has)g(the)g(range)h(0..11)g(and)f Fi($)q Fj(wday)472
  565. X1965 y(has)h(the)f(range)h(0..6.)354 2030 y Fd(hex\()p Ff(EXPR)p
  566. XFe(y)o Fd(\))p Fj(*)472 2087 y(Returns)g(the)f(decimal)g(value)g(of)h
  567. XFf(EXPR)e Fj(interpreted)i(as)f(an)h(hex)f(string.)354 2151
  568. Xy Fd(localtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 2208 y(Converts)h(a)f(time)g
  569. X(as)g(returned)h(by)f(the)g Fd(time)g Fj(function)g(to)g(a)g(9-element)g
  570. X(array)i(with)472 2264 y(the)f(time)e(analyzed)i(for)g(the)f(local)g
  571. X(timezone.)354 2329 y Fd(oct\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  572. X2385 y(Returns)h(the)f(decimal)g(value)g(of)h Ff(EXPR)e Fj(interpreted)i(as)f
  573. X(an)h(octal)f(string.)g(If)g Ff(EXPR)472 2442 y Fj(starts)g(of)o(f)h(with)f
  574. XFi(0x)p Fj(,)h(interprets)f(it)g(as)g(a)h(hex)f(string)g(instead.)354
  575. X2507 y Fd(ord\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 2563 y(Returns)h(the)f
  576. X(ascii)g(value)h(of)f(the)g(\256rst)h(character)g(of)g Ff(EXPR)p
  577. XFj(.)354 2628 y Fd(vec\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fd(,)p
  578. XFf(BITS)p Fd(\))472 2684 y Fj(T)n(reats)g Ff(EXPR)f Fj(as)g(a)h(string)e(of)i
  579. X(unsigned)e(ints,)h(and)g(yields)g(the)g(bit)g(at)g Ff(OFFSET)p
  580. XFj(.)472 2741 y Ff(BITS)g Fj(must)f(be)i(between)f(1)h(and)f(32.)h(May)f(be)g
  581. X(used)g(as)h(an)f(lvalue.)p 354 3018 1512 3 v 354 3065 a Fg(5)p
  582. Xeop
  583. X%%Page: 6 8
  584. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  585. X3 v 355 -2 a Fl(10.)19 b(Structure)k(conversion)p 355 19 1512
  586. X2 v 354 119 a Fd(pack\()p Ff(TEMPLA)m(TE)p Fd(,)p Ff(LIST)p
  587. XFd(\))472 176 y Fj(Packs)12 b(the)g(values)f(into)f(a)i(binary)f(structure)g
  588. X(using)f Ff(TEMPLA)m(TE)p Fj(.)354 241 y Fd(unpack\()p Ff(TEMPLA)m(TE)p
  589. XFd(,)p Ff(EXPR)p Fd(\))472 297 y Fj(Unpacks)i(the)f(structure)g
  590. XFf(EXPR)f Fj(into)h(an)g(array)m(,)i(using)d Ff(TEMPLA)m(TE)p
  591. XFj(.)472 362 y Ff(TEMPLA)m(TE)h Fj(is)g(a)g(sequence)h(of)g(characters)g(as)g
  592. X(follows:)527 427 y Fi(a)28 b Fj(/)42 b Fi(A)55 b Fj(Ascii)11
  593. Xb(string,)g(null)f(/)h(space)h(padded)527 483 y Fi(b)28 b Fj(/)42
  594. Xb Fi(B)55 b Fj(Bit)11 b(string)g(in)g(ascending)g(/)g(descending)g(order)527
  595. X540 y Fi(c)28 b Fj(/)42 b Fi(C)55 b Fj(Native)11 b(/)g(unsigned)g(char)h
  596. X(value)527 596 y Fi(f)28 b Fj(/)42 b Fi(d)55 b Fj(Single)11
  597. Xb(/)g(double)g(\257oat)h(in)f(native)g(format)527 652 y Fi(h)28
  598. Xb Fj(/)42 b Fi(H)55 b Fj(Hex)12 b(string,)e(low)h(/)g(high)g(nybble)g
  599. X(\256rst.)527 709 y Fi(i)28 b Fj(/)42 b Fi(I)55 b Fj(Signed)11
  600. Xb(/)g(unsigned)g(integer)g(value)527 765 y Fi(l)28 b Fj(/)42
  601. Xb Fi(L)55 b Fj(Signed)11 b(/)g(unsigned)g(long)f(value)527
  602. X822 y Fi(n)28 b Fj(/)42 b Fi(N)55 b Fj(Short)11 b(/)g(long)g(in)g(network)g
  603. X(\(big)g(endian\))g(byte)g(order)527 878 y Fi(s)28 b Fj(/)42
  604. Xb Fi(S)55 b Fj(Signed)11 b(/)g(unsigned)g(short)f(value)527
  605. X935 y Fi(u)28 b Fj(/)42 b Fi(p)55 b Fj(Uuencoded)11 b(string)g(/)g(Pointer)g
  606. X(to)g(a)h(string)527 991 y Fi(v)28 b Fj(/)42 b Fi(V)55 b Fj(Short)11
  607. Xb(/)g(long)g(in)g(V)-6 b(AX)11 b(\(little)g(endian\))g(byte)g(order)527
  608. X1048 y Fi(x)28 b Fj(/)42 b Fi(@)55 b Fj(Null)11 b(byte)g(/)g(null)f(\256ll)h
  609. X(until)g(position)527 1104 y Fi(X)165 b Fj(Backup)12 b(a)g(byte)472
  610. X1169 y(Each)g(character)h(may)e(be)g(followed)g(by)g(a)h(decimal)f(number)g
  611. X(which)g(will)f(be)i(used)f(as)472 1225 y(a)h(repeat)g(count,)f(an)h
  612. XFi(*)g Fj(speci\256es)f(all)g(remaining)g(ar)o(guments.)472
  613. X1282 y(If)h(the)f(format)h(is)f(preceded)h(with)e Fi(\045)p
  614. XFf(N)p Fj(,)j Fd(unpack)f Fj(returns)f(an)h Ff(N)p Fj(-bit)f(checksum)472
  615. X1338 y(instead.)472 1395 y(Spaces)i(may)e(be)g(included)g(in)g(the)g
  616. X(template)g(for)g(readability)g(purposes.)355 1518 y Fl(11.)19
  617. Xb(String)i(functions)p 355 1539 V 354 1639 a Fd(chop\()p Ff(LIST)p
  618. XFe(y)p Fd(\))472 1696 y Fj(Chops)12 b(of)o(f)f(the)h(last)e(character)j(on)e
  619. X(all)g(elements)g(of)h(the)f(list;)f(returns)h(the)g(last)472
  620. X1752 y(chopped)h(character)m(.)h(The)f(parentheses)f(may)g(be)h(omitted)e(if)
  621. Xh Ff(LIST)g Fj(is)g(a)h(single)472 1809 y(variable.)354 1873
  622. Xy Fd(crypt\()p Ff(PLAINTEXT)p Fd(,)p Ff(SAL)m(T)p Fd(\))472
  623. X1930 y Fj(Encrypts)f(a)h(string.)354 1995 y Fd(eval\()p Ff(EXPR)p
  624. XFe(y)n Fd(\))p Fj(*)472 2051 y Ff(EXPR)f Fj(is)g(parsed)g(and)h(executed)f
  625. X(as)h(if)f(it)g(were)h(a)g(perl)f(program.)h(The)f(value)472
  626. X2108 y(returned)h(is)f(the)g(value)g(of)h(the)f(last)g(expression)g
  627. X(evaluated.)g(If)h(there)g(is)f(a)h(syntax)472 2164 y(error)h(or)e(runtime)g
  628. X(error)n(,)h(an)g(unde\256ned)f(string)g(is)g(returned)g(by)g
  629. XFd(eval)p Fj(,)h(and)f Fi($@)h Fj(is)f(set)472 2221 y(to)g(the)h(error)g
  630. X(message.)354 2285 y Fd(eval)p Fa({)p Ff(EXPR)p Fd(;...)p Fa(})472
  631. X2342 y Fj(Executes)e(the)g(code)g(between)g Fi({)g Fj(and)g
  632. XFi(})p Fj(.)h(T)n(raps)f(runtime)f(errors)h(as)g(described)g(above.)354
  633. X2406 y Fd(index\()p Ff(STR)p Fd(,)p Ff(SUBSTR)p Fj([)p Fd(,)p
  634. XFf(OFFSET)p Fj(])p Fd(\))472 2463 y Fj(Returns)h(the)g(position)e(of)i
  635. XFf(SUBSTR)f Fj(in)g Ff(STR)h Fj(at)g(or)g(after)g Ff(OFFSET)p
  636. XFj(.)h(If)f(the)g(substring)472 2519 y(is)g(not)g(found,)g(returns)h
  637. XFi($[-1)p Fj(.)354 2584 y Fd(length\()p Ff(EXPR)p Fe(y)o Fd(\))p
  638. XFj(*)472 2641 y(Returns)g(the)f(length)g(in)g(characters)h(of)g(the)f(value)g
  639. X(of)h Ff(EXPR)p Fj(.)354 2705 y Fd(rindex\()p Ff(STR)p Fd(,)p
  640. XFf(SUBSTR)p Fj([)p Fd(,)p Ff(OFFSET)p Fj(])p Fd(\))472 2762
  641. Xy Fj(Returns)g(the)f(position)f(of)h(the)g(last)g Ff(SUBSTR)g
  642. XFj(in)g Ff(STR)g Fj(at)h(or)f(before)h Ff(OFFSET)p Fj(.)354
  643. X2827 y Fd(substr\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fj([)p Fd(,)p
  644. XFf(LEN)p Fj(])p Fd(\))472 2883 y Fj(Extracts)f(a)h(substring)e(out)h(of)g
  645. XFf(EXPR)g Fj(and)g(returns)g(it.)h(If)f Ff(OFFSET)i Fj(is)d(negative,)472
  646. X2939 y(counts)h(from)g(the)g(end)h(of)f(the)g(string.)g(May)g(be)h(used)f(as)
  647. Xh(an)f(lvalue.)p 354 3018 1512 3 v 1838 3065 a Fg(6)p eop
  648. X%%Page: 7 9
  649. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  650. X3 v 355 -2 a Fl(12.)19 b(Array)i(and)f(list)g(functions)p 355
  651. X19 1512 2 v 354 119 a Fd(delete)12 b Fi($)p Ff(ARRA)m(Y)p Fi({)o
  652. XFf(KEY)p Fi(})472 176 y Fj(Deletes)g(the)f(speci\256ed)h(value)f(from)g(the)g
  653. X(speci\256ed)h(associative)f(array)m(.)i(Returns)e(the)472
  654. X232 y(deleted)h(value.)354 297 y Fd(each\()p Fi(\045)q Ff(ARRA)m(Y)p
  655. XFd(\))p Fj(*)472 354 y(Returns)g(a)g(2-element)f(array)h(consisting)d(of)j
  656. X(the)f(key)g(and)h(value)f(for)h(the)f(next)g(value)472 410
  657. Xy(of)h(an)f(associative)g(array)m(.)i(Entries)e(are)h(returned)f(in)g(an)h
  658. X(apparently)f(random)g(order)m(.)472 466 y(When)h(the)f(array)h(is)f
  659. X(entirely)g(read,)i(a)e(null)g(array)h(is)f(returned.)h(The)f(next)g(call)h
  660. X(to)472 523 y Fd(each)g Fj(after)h(that)d(will)h(start)g(iterating)g(again.)
  661. X354 588 y Fd(grep\()p Ff(EXPR)p Fd(,)p Ff(LIST)p Fd(\))472
  662. X644 y Fj(Evaluates)g Ff(EXPR)g Fj(for)g(each)i(element)e(of)g(the)g
  663. XFf(LIST)p Fj(,)h(locally)e(setting)h Fi($_)h Fj(to)f(refer)h(to)472
  664. X701 y(the)g(element.)f(Modifying)f Fi($_)i Fj(will)e(modify)h(the)g
  665. X(corresponding)g(element)g(from)472 757 y Ff(LIST)p Fj(.)h(Returns)f(array)i
  666. X(of)e(elements)g(from)g Ff(LIST)g Fj(for)h(which)f Ff(EXPR)f
  667. XFj(returned)i(true.)354 822 y Fd(join\()p Ff(EXPR)p Fd(,)p
  668. XFf(LIST)p Fd(\))472 878 y Fj(Joins)e(the)h(separate)h(strings)e(of)h
  669. XFf(LIST)g Fj(into)f(a)h(single)g(string)f(with)g(\256elds)h(separated)g(by)
  670. X472 935 y(the)h(value)f(of)g Ff(EXPR)p Fj(,)g(and)h(returns)f(the)g(string.)
  671. X354 999 y Fd(keys\()p Fi(\045)q Ff(ARRA)m(Y)p Fd(\))p Fj(*)472
  672. X1056 y(Returns)h(an)f(array)i(with)d(of)i(all)f(the)g(keys)g(of)h(the)f
  673. X(named)g(associative)g(array)m(.)354 1121 y Fd(pop\()p Fi(@)p
  674. XFf(ARRA)m(Y)p Fd(\))p Fj(*)472 1177 y(Pops)h(and)f(returns)g(the)g(last)g
  675. X(value)h(of)f(the)g(array)m(,)i(shortens)e(the)g(array)h(by)f(1.)354
  676. X1242 y Fd(push\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p Fd(\))472
  677. X1298 y Fj(Pushes)h(the)f(values)g(of)g Ff(LIST)h Fj(onto)e(the)h(end)h(of)f
  678. XFf(ARRA)m(Y)p Fj(.)g(The)g(length)g(of)g(the)h(array)472 1355
  679. Xy(increases)g(by)f(the)h(length)e(of)i Ff(LIST)p Fj(.)354 1420
  680. Xy Fd(reverse\()p Ff(LIST)p Fd(\))p Fj(*)472 1476 y(In)g(array)g(context:)f
  681. X(returns)g(the)g Ff(LIST)g Fj(in)g(reverse)h(order)m(.)472
  682. X1532 y(In)g(scalar)g(context:)e(returns)i(the)f(\256rst)g(element)g(of)h
  683. XFf(LIST)f Fj(with)f(bytes)h(reversed.)354 1597 y Fd(scalar\()p
  684. XFi(@)p Ff(ARRA)m(Y)p Fd(\))472 1654 y Fj(Returns)h(the)f(number)g(of)g
  685. X(elements)g(in)g(the)g(array)m(.)354 1718 y Fd(scalar\()p Fi(\045)q
  686. XFf(ARRA)m(Y)p Fd(\))472 1775 y Fj(Returns)h(TRUE)g(if)f(the)g(associative)g
  687. X(array)h(has)f(elements)g(de\256ned.)354 1840 y Fd(shift)p
  688. XFj([)p Fd(\()p Fi(@)p Ff(ARRA)m(Y)p Fd(\))p Fj(*])472 1896
  689. Xy(Shifts)g(the)h(\256rst)f(value)g(of)h(the)f(array)h(of)o(f)g(and)f(returns)
  690. Xh(it,)f(shortening)f(the)h(array)i(by)e(1)472 1953 y(and)h(moving)e
  691. X(everything)g(down.)i(If)g Fi(@)p Ff(ARRA)m(Y)e Fj(is)h(omitted,)g(shifts)f
  692. XFi(@ARGV)j Fj(in)e(main)472 2009 y(and)h Fi(@_)g Fj(in)f(subroutines.)354
  693. X2074 y Fd(sort\()h Fj([)p Ff(SUBROUTINE)f Fj(])g Ff(LIST)p
  694. XFd(\))p Fj(*)472 2130 y(Sorts)h(the)f Ff(LIST)g Fj(and)g(returns)h(the)f
  695. X(sorted)g(array)h(value.)g(If)g Ff(SUBROUTINE)e Fj(is)472 2187
  696. Xy(speci\256ed,)j(gives)d(the)i(name)f(of)g(a)h(subroutine)e(that)h(returns)g
  697. X(less)g(than)g(zero,)i(zero,)f(or)472 2243 y(greater)h(than)e(zero,)h
  698. X(depending)f(on)g(how)g(the)g(elements)g(of)g(the)g(array)m(,)i(available)e
  699. X(to)472 2300 y(the)h(routine)e(as)i Fi($a)g Fj(and)f Fi($b)p
  700. XFj(,)i(are)f(to)f(be)h(ordered.)472 2356 y Ff(SUBROUTINE)f
  701. XFj(may)g(be)h(the)f(name)g(of)h(a)f(user)o(-de\256ned)h(routine,)g(or)f(a)h
  702. XFf(BLOCK)f Fj(\(see)472 2412 y(\252Statements\272)h(and)f
  703. X(\252Miscellaneous\272\).)354 2477 y Fd(splice\()p Fi(@)p Ff(ARRA)m(Y)p
  704. XFd(,)p Ff(OFFSET)p Fj([)p Fd(,)p Ff(LENGTH)p Fj([)p Fd(,)p
  705. XFf(LIST)p Fj(]])p Fd(\))472 2534 y Fj(Removes)h(the)f(elements)g(of)g
  706. XFi(@)p Ff(ARRA)m(Y)g Fj(designated)g(by)g Ff(OFFSET)h Fj(and)f
  707. XFf(LENGTH)p Fj(,)472 2590 y(and)h(replaces)g(them)f(with)f
  708. XFf(LIST)h Fj(\(if)h(speci\256ed\).)472 2647 y(Returns)g(the)f(elements)g
  709. X(removed.)354 2711 y Fd(split)p Fj([)p Fd(\()p Ff(P)m(A)m(TTERN)p
  710. XFj([)p Fd(,)p Ff(EXPR)p Fe(y)m Fj([)p Fd(,)p Ff(LIMIT)p Fj(]])p
  711. XFd(\))p Fj(])472 2768 y(Splits)g(a)h(string)e(into)h(an)g(array)h(of)g
  712. X(strings,)e(and)i(returns)f(it.)g(If)h Ff(LIMIT)e Fj(is)h(speci\256ed,)472
  713. X2824 y(splits)f(in)h(no)g(more)h(than)f(that)g(many)f(\256elds.)i(If)g
  714. XFf(P)m(A)m(TTERN)f Fj(is)g(also)g(omitted,)f(splits)472 2881
  715. Xy(on)i(whitespace.)f(If)h(not)f(in)g(array)h(context:)f(returns)g(number)g
  716. X(of)g(\256elds)g(and)h(splits)e(to)472 2937 y Fi(@_)p Fj(.)j(See)f(also:)f
  717. X(\252Search)i(and)e(Replace)i(Functions\272.)p 354 3018 1512
  718. X3 v 354 3065 a Fg(7)p eop
  719. X%%Page: 8 10
  720. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  721. X3 v 354 -12 a Fd(unshift\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p
  722. XFd(\))472 45 y Fj(Prepends)f(list)f(to)f(the)i(front)f(of)g(the)h(array)m(,)g
  723. X(and)g(returns)f(the)g(number)g(of)g(elements)g(in)472 101
  724. Xy(the)h(new)f(array)m(.)354 166 y Fd(values\()p Fi(\045)q Ff(ARRA)m(Y)p
  725. XFd(\))p Fj(*)472 222 y(Returns)h(a)g(normal)e(array)j(consisting)c(of)j(all)f
  726. X(the)g(values)g(of)g(the)h(named)f(associative)472 279 y(array)m(.)355
  727. X520 y Fl(13.)19 b(File)h(operations)p 355 541 1512 2 v 354
  728. X642 a Fj(Functions)11 b(operating)g(on)g(a)h(list)e(of)h(\256les)h(return)f
  729. X(the)g(number)g(of)h(\256les)f(successfully)354 698 y(operated)h(upon.)354
  730. X763 y Fd(chmod\()p Ff(LIST)p Fd(\))p Fj(*)472 819 y(Changes)g(the)f
  731. X(permissions)f(of)h(a)h(list)e(of)i(\256les.)g(The)f(\256rst)h(element)f(of)g
  732. END_OF_FILE
  733.   if test 42440 -ne `wc -c <'refbase.ps.A'`; then
  734.     echo shar: \"'refbase.ps.A'\" unpacked with wrong size!
  735.   elif test -f 'refbase.ps.B'; then
  736.     echo shar: Recreating \"'refbase.ps'\" \(85970 characters\)
  737.     cat 'refbase.ps.A' 'refbase.ps.B' > 'refbase.ps'
  738.     if test 85970 -ne `wc -c <'refbase.ps'`; then
  739.       echo shar: \"'refbase.ps'\" combined with wrong size!
  740.     else 
  741.       rm refbase.ps.A refbase.ps.B
  742.     fi 
  743.   fi 
  744.   # end of 'refbase.ps.A'
  745. fi
  746. if test -f 'refbase.sty' -a "${1}" != "-c" ; then 
  747.   echo shar: Will not clobber existing file \"'refbase.sty'\"
  748. else
  749.   echo shar: Extracting \"'refbase.sty'\" \(7030 characters\)
  750.   sed "s/^X//" >'refbase.sty' <<'END_OF_FILE'
  751. X%% refbase.sty -- standard style for Perl Reference Guide
  752. X%%
  753. X%% SCCS Status     : @(#)@ refbase.sty    4.2.5
  754. X%% Author          : Johan Vromans
  755. X%% Created On      : Wed Jul  3 13:58:33 1991
  756. X%% Last Modified By: Johan Vromans
  757. X%% Last Modified On: Wed Sep  2 14:29:21 1992
  758. X%% Update Count    : 188
  759. X%% Status          : OK
  760. X%%
  761. X%%%%%%%%%%%%%%%% Copyright %%%%%%%%%%%%%%%%
  762. X%
  763. X% The Perl Reference Guide and its associated files are 
  764. X%
  765. X% Copyright 1989, 1992 Johan Vromans.
  766. X%
  767. X% They may be used and reproduced under the terms of the
  768. X% GNU Public Licence. A copy of this licence should have 
  769. X% been included in your Perl source kit.
  770. X%
  771. X%%%%%%%%%%%%%%%% Disclaimer %%%%%%%%%%%%%%%%
  772. X%
  773. X% I'm not a TeX wizard. I stole some of the ideas from 
  774. X% Raymond Chen <raymond@math.berkeley.edu> and others.
  775. X%
  776. X%%%%%%%%%%%%%%%% Usage %%%%%%%%%%%%%%%%
  777. X%
  778. X% Usage:
  779. X%
  780. X%    \documentstyle[psfonts]{perlref}
  781. X%
  782. X%%%%%%%%%%%%%%%% Start of code %%%%%%%%%%%%%%%%
  783. X%
  784. X% Allow % to be printed (for SCCS keywords)
  785. X\catcode`\%=11
  786. X\def\perlrev{4.035}
  787. X\typeout{Document Style 'perlref' Version 2.5 for Perl \perlrev}
  788. X\def\refrev{\perlrev.\revision}
  789. X\typeout{Reference Guide revision is \refrev.}
  790. X\catcode`\%=14
  791. X%
  792. X%%%%%%%%%%%%%%%% Other Styles %%%%%%%%%%%%%%%%
  793. X%
  794. X\input article.sty        % standard LaTeX
  795. X\@twosidetrue            % format two-sided
  796. X\input art11.sty        % standard LaTeX
  797. X%
  798. X%%%%%%%%%%%%%%%% Selection of Fonts %%%%%%%%%%%%%%%%
  799. X%
  800. X\let\makeuppage=\relax
  801. X\def\makeupspace#1{\relax}
  802. X%
  803. X% >>>> Comment out the rest of this section 
  804. X% >>>> if you don't have dvips
  805. X% >>>> You will probably have to change \topmargin,
  806. X% >>>> \{odd,even}sidemargin and \textheight in the next 
  807. X% >>>> section as well.
  808. X%
  809. X\ifx\selectfont\undefined
  810. X    \typeout{Configuring for dvips 5.47 and PostScript fonts}
  811. X    \def\@mrm{ptmr}        % times - roman
  812. X    \def\@mit{ptmri}        % times - italic
  813. X    \def\@msl{phvbo}        % helvetica - bold oblique
  814. X    \def\@mbf{phvb}        % helvetica - bold
  815. X    \def\@mcsc{ptmrc}        % times - roman - small caps
  816. X    \def\@mtt{pcrb}        % courier bold
  817. X    \def\@mss{phvr}        % helvetica
  818. X    \input psfonts.sty        % LaTeX PostScript fonts
  819. X\else
  820. X    % Code to handle New Font Selection Scheme
  821. X    % Donated by Michael Jaegermann <ntomczak@vega.math.ualberta.ca>
  822. X    % I have not tested this!
  823. X    \typeout{Configuring for dvips 5.47 and PostScript fonts using NFSS}
  824. X    \input npsfont.sty
  825. X    \newpsfamily{refam}{%
  826. X    {m}{n}{ptmr},             % times - roman
  827. X    {m}{it}{ptmri},           % times - italic
  828. X    {m}{sl}{phvbo},           % helvetica - bold oblique
  829. X    {m}{sc}{ptmrc},           % times - roman - small caps
  830. X    {bx}{n}{phvb}}            % helvetica - bold
  831. X    \newpsfamily{rett}{%
  832. X    {m}{n}{pcrb}}             % courier bold
  833. X    \newpsfamily{resf}{%
  834. X    {m}{n}{phvr}}             % helvetica
  835. X    \renewcommand{\rmdefault}{refam}
  836. X    \renewcommand{\ttdefault}{rett}
  837. X    \renewcommand{\sfdefault}{resf}
  838. X    \family{refam}\selectfont
  839. X\fi
  840. X% In the final version, some explicit \newpages and space are needed. 
  841. X\let\makeuppage=\newpage
  842. X\def\makeupspace#1{\vspace{#1}}
  843. X%
  844. X%%%%%%%%%%%%%%%% Private Settings %%%%%%%%%%%%%%%%
  845. X%
  846. X\topmargin -1.55cm        % for dvips 5.47
  847. X\headheight 0.7cm
  848. X\headsep 0.4cm
  849. X\footskip 1.0cm
  850. X\textheight 25.4cm         % for dvips 5.47
  851. X\textwidth 12.8cm
  852. X\oddsidemargin 3cm        % for dvips 5.47
  853. X\evensidemargin 3cm         % for dvips 5.47
  854. X\frenchspacing
  855. X%
  856. X%%%%%%%%%%%%%%%% Headers/Footers %%%%%%%%%%%%%%%%
  857. X%
  858. X\newlength{\tw}\setlength{\tw}{\textwidth}\addtolength{\tw}{-2pt}
  859. X\def\@refhead#1{%
  860. X    \vbox{\makebox[\textwidth][#1]{\large\sl{Perl Reference Guide}}
  861. X      \rule[-0.1cm]{\textwidth}{0.5pt}}}
  862. X\def\@reffoot#1{%
  863. X    \vbox{\rule[-0.6cm]{\textwidth}{0.5pt}
  864. X      \makebox[\textwidth][#1]{\large\sl\thepage}}}
  865. X%
  866. X\def\@oddhead{\@refhead{l}}
  867. X\def\@evenhead{\@refhead{r}}
  868. X\def\@oddfoot{\@reffoot{l}}
  869. X\def\@evenfoot{\@reffoot{r}}
  870. X%
  871. X%%%%%%%%%%%%%%%% Paragraphs %%%%%%%%%%%%%%%%
  872. X%
  873. X\parindent 0pt            % align to left margin
  874. X\setlength{\baselineskip}{12pt}    % inter-line spacing
  875. X\parskip 2pt plus 1pt        % half-line spacing between paragraphs
  876. X\setlength{\smallskipamount}{\parskip} % half-line
  877. X\setlength{\medskipamount}{2\parskip} % single line
  878. X\setlength{\bigskipamount}{3\parskip} % one-and-a-half line
  879. X\setlength{\topsep}{0pt plus 1pt} % for lists and tabbing
  880. X\setlength{\partopsep}{0pt plus 1pt} % for lists and tabbing
  881. X\setlength{\itemsep}{0pt plus 1pt} % for lists and tabbing
  882. X%
  883. X\raggedright            % no adjustment
  884. X%
  885. X%%%%%%%%%%%%%%%% Sections and such %%%%%%%%%%%%%%%%
  886. X%
  887. X% Note: zero is a 'hot' value. approximate with 0.1pt
  888. X\def\pr@section{
  889. X    \@startsection {section}{1}{0.1pt}
  890. X               {12pt}{0.1pt}{\normalsize}}
  891. X%
  892. X\renewcommand{\section}[1]{
  893. X    \addtocounter{section}{1}
  894. X    \pr@section*{\vbox{{\LARGE\sl \thesection. #1}
  895. X               {\rule[0.3cm]{\textwidth}{0.25pt}}}}}
  896. X\newcommand{\unnumbered}[1]{
  897. X    {\vbox{{\LARGE\sl {#1}}
  898. X           {\rule[0.3cm]{\textwidth}{0.25pt}}}}}
  899. X%
  900. X%%%%%%%%%%%%%%%% Macros %%%%%%%%%%%%%%%%
  901. X%
  902. X\chardef\other=12
  903. X%
  904. X% |lit| is used to represent literal things.
  905. X% Representation is a fixed font.
  906. X{\catcode`\|=\active
  907. X\gdef|{\leavevmode%
  908. X\begingroup\catcode`\\=\other\catcode`\{=\other%
  909. X\catcode`\}=\other\catcode`\$=\other\catcode`\&=\other%
  910. X\catcode`\#=\other\catcode`\~=\other%
  911. X\catcode`\_=\other\catcode`\^=\other\catcode`\<=\other%
  912. X\catcode`\[=\other%
  913. X\obeyspaces\obeylines%
  914. X\let|=\endgroup\escapechar`\|\catcode`\%=\other\tt}}
  915. X\catcode`\|=\active
  916. X
  917. X% <var> is used for variable things. 
  918. X% Representation is 10pt sans-serif uppercased.
  919. X\catcode`\<=\active
  920. X\def<{\leavevmode\italicizerest}
  921. X\def\italicizerest#1>{{\small\sf\uppercase{#1}}}
  922. X
  923. X% LaTeX active and 'hot' characters
  924. X\def\|{\leavevmode\hbox{\tt\char`\|}}
  925. X\def\<{\leavevmode\hbox{\tt\char`\<}}
  926. X\def\>{\leavevmode\hbox{\tt\char`\>}}
  927. X\def\^{\leavevmode\hbox{\tt\char`\^}}
  928. X\def\${\leavevmode\hbox{\tt\char`\$}}
  929. X\def\%{\leavevmode\hbox{\tt\char`\%}}
  930. X\def\&{\leavevmode\hbox{\tt\char`\&}}
  931. X\def\{{\leavevmode\hbox{\tt\char`\{}}
  932. X\def\}{\leavevmode\hbox{\tt\char`\}}}
  933. X\def\_{\leavevmode\hbox{\tt\char`\_}}
  934. X
  935. X% Keywords
  936. X% Representation is 10pt sans-serif bold.
  937. X\def\kwd#1{{\small\bf #1}}
  938. X
  939. X% Definitions
  940. X\def\oEXPR{<expr>\dag}
  941. X
  942. X%%%%%%%%%%%%%%%% Enumerations %%%%%%%%%%%%%%%%
  943. X%
  944. X% Usage:
  945. X%
  946. X%  \begin{enum}{width}
  947. X%  \Xi{Blah} blah blah...
  948. X%  \Xi{Blah} bla ...
  949. X%  ...
  950. X%  \end{enum}
  951. X%
  952. X\newlength{\@xli}
  953. X\newlength{\@xlj}
  954. X\def\enum#1{
  955. X    \list{}{
  956. X      \setlength{\topsep}{0pt plus 1pt}
  957. X      \setlength{\partopsep}{0pt plus 1pt}
  958. X      \setlength{\itemsep}{0pt plus 1pt}
  959. X      \setlength{\parsep}{\parskip}
  960. X      \setlength{\itemindent}{0pt}
  961. X      \setlength{\labelsep}{5pt}
  962. X      \setlength{\labelwidth}{#1}
  963. X      \setlength{\leftmargin}{\labelwidth}
  964. X      \addtolength{\labelwidth}{-\labelsep}
  965. X      \setlength{\@xli}{\labelwidth}
  966. X      \def\makelabel##1{##1\hss}}}
  967. X
  968. X% List element that overflows if it is too wide
  969. X\def\Xi#1{
  970. X    \settowidth{\@xlj}{#1}
  971. X    \item[{#1}]
  972. X    \ifnum\@xlj>\@xli
  973. X           \strut\newline
  974. X    \fi}
  975. X% List element that does not overflow if it is too wide
  976. X\def\Xj#1{\item[#1]}
  977. X
  978. X\let\endenum=\endlist
  979. X
  980. X%%%%%%%%%%%%%%%% Emacs support %%%%%%%%%%%%%%%%
  981. X%
  982. X% Local Variables:
  983. X% eval:(auto-fill-mode 0)
  984. X% eval:(headers)
  985. X% eval:(setq comment-start "% ")
  986. X% eval:(setq comment-start-skip "% +")
  987. X% End:
  988. END_OF_FILE
  989.   if test 7030 -ne `wc -c <'refbase.sty'`; then
  990.     echo shar: \"'refbase.sty'\" unpacked with wrong size!
  991.   fi
  992.   # end of 'refbase.sty'
  993. fi
  994. echo shar: End of archive 3 \(of 4\).
  995. cp /dev/null ark3isdone
  996. MISSING=""
  997. for I in 1 2 3 4 ; do
  998.     if test ! -f ark${I}isdone ; then
  999.     MISSING="${MISSING} ${I}"
  1000.     fi
  1001. done
  1002. if test "${MISSING}" = "" ; then
  1003.     echo You have unpacked all 4 archives.
  1004.     rm -f ark[1-9]isdone
  1005. else
  1006.     echo You still must unpack the following archives:
  1007.     echo "        " ${MISSING}
  1008. fi
  1009. exit 0
  1010. exit 0 # Just in case...
  1011.